﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace AcademiaInteligenteData.DAL
{
    class DaoTipoFuncionario:DaoConnection
    {
        public void InserirTipo_Funcionario(Tipo_funcionario tipo_Funcionario)
        {
            string insertTipo_Funcionario = "ai_sp_inserirTipo_Funcionario";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id", tipo_Funcionario.id));
            parametros[0].Direction = System.Data.ParameterDirection.InputOutput;
            parametros.Add(new SqlParameter("@descricao", tipo_Funcionario.descricao));
            Executar(insertTipo_Funcionario, true, parametros);
            tipo_Funcionario.id = Convert.ToInt32(parametros[0].Value);
        }
        public void AlterarTipo_Funcionario(Tipo_funcionario tipo_Funcionario)
        {
            string alterarTipo_Funcionario = "ai_sp_alterarTipo_Funcionario";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id", tipo_Funcionario.id));
            parametros.Add(new SqlParameter("@descricao", tipo_Funcionario.descricao));

            Executar(alterarTipo_Funcionario, true, parametros);
        }
        public void ExcluirTipo_FuncionarioPorID(int id)
        {
            string excluirTipo_Funcionario = "ai_sp_excluirTipo_Funcionario";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            Executar(excluirTipo_Funcionario, true, parametros);
        }
        public Tipo_funcionario SelecionarTipo_FuncionarioPorID(int id)
        {
            string selecionaTipo_Funcionario = "ai_sp_selecionarTipo_FuncionarioPorID";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            DataSet reader = Selecionar(selecionaTipo_Funcionario, true, parametros);
            int i = 0;
            Tipo_funcionario tipoFuncionario = new Tipo_funcionario();
            tipoFuncionario.descricao = Convert.ToString(reader.Tables[0].Rows[i]["descricao"]);
            

            tipoFuncionario.id = id;
            return tipoFuncionario;
        }

        internal List<Tipo_funcionario> ListarTipo_Funcionarios()
        {
            string selecionaTipo_Funcionario = "ai_sp_listarTipoFuncionario";
            List<SqlParameter> parametros = new List<SqlParameter>();
            DataSet reader = Selecionar(selecionaTipo_Funcionario, true, parametros);
            List<Tipo_funcionario> tipo_Funcionarios = new List<Tipo_funcionario>();
            for (int i = 0; i < reader.Tables[0].Rows.Count; i++)
            {
                Tipo_funcionario tipo_Funcionario = new Tipo_funcionario();
                tipo_Funcionario.descricao = Convert.ToString(reader.Tables[0].Rows[i]["descricao"]);


                tipo_Funcionario.id = Convert.ToInt32(reader.Tables[0].Rows[i]["id"]);
                tipo_Funcionarios.Add(tipo_Funcionario);
            }
            return tipo_Funcionarios;
        }
    }
}
